package jmine.tec.report.script;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

/**
 * Helper para formatação que pode ser utilizado por scripts velocity, bastando importar sua instancia do spring para poder utilizá-lo
 * 
 * @author lundberg
 */
public class VelocityFormatHelper {

    private Map<String, SimpleDateFormat> dateFormatCache = new ConcurrentHashMap<String, SimpleDateFormat>();

    /**
     * Formata uma data no formato desejado
     * 
     * @param pattern pattern
     * @param date date
     * @return String
     */
    public String formatDate(String pattern, Date date) {
        if (date == null) {
            return "";
        }
        if (!this.dateFormatCache.containsKey(pattern)) {
            this.dateFormatCache.put(pattern, new SimpleDateFormat(pattern));
        }
        return this.dateFormatCache.get(pattern).format(date);
    }
}
